#include"EventLoop.h"
EventLoop::EventLoop()
:epfd_(new Epoll)
{}
EventLoop::~EventLoop()
{
    delete epfd_;
}
void EventLoop::run()
{
    while (true)        // 事件循环。
    {
       std::vector<Channel *> channels=epfd_->loop();         // 等待监视的fd有事件发生。

        for (auto &ch:channels)
        {
            ch->handleevent();        // 处理epoll_wait()返回的事件。
        }
    }
}
Epoll *EventLoop::getEpfd()
{
    return epfd_;
}

void EventLoop::updatechannel(Channel *ch)
{
    epfd_->updatechannel(ch);
}